Skip to content

fix(installer): never write a broken global Kiro --path#76

Merged
sunerpy merged 1 commit into
mainfrom
fix/kiro-global-no-broken-path
Jun 26, 2026
Merged

fix(installer): never write a broken global Kiro --path#76
sunerpy merged 1 commit into
mainfrom
fix/kiro-global-no-broken-path

Conversation

@sunerpy

@sunerpy sunerpy commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Summary

v0.15.7 made a global Kiro install write --path ${workspaceFolder}. But Kiro CLI does not expand ${workspaceFolder} in mcp.json args (only Kiro IDE does), so the arg resolved to the literal $HOME/${workspaceFolder} — the watcher and catch-up sync then failed with read dir /config/${workspaceFolder}.

This makes the global path safe and keeps the working local path:

  • Global install: writes no MCP entry and self-heals — removes any stale codegraph entry a prior version wrote (other MCP servers are preserved). Emits explicit guidance to run codegraph install --target=kiro --local per project.
  • Local install: unchanged — pins the concrete project --path.
  • docs(cli): rewrite the Kiro section (global = guidance-only, because Kiro CLI cannot expand ${workspaceFolder}).

Zombie <defunct> MCP children observed in Kiro are a Kiro client-side reaping defect (the parent doesn't wait()/forward SIGTERM to its stdio child on session end), not a codegraph issue — our detached daemon setsids and reparents to init, and already self-shuts on stdin EOF / host-pid liveness. No code change here for that.

Verification

  • make ci green locally (fmt + clippy -D warnings + full workspace test + guardrail); pre-push gate green.
  • Updated regression tests: local writes concrete --path=cwd; global writes no codegraph entry and emits per-project guidance.
  • Real installer QA: local → --path <project>; global on clean home → no entry + guidance note; global self-heal → seeded broken ${workspaceFolder} entry removed, unrelated server kept.

Kiro CLI does not expand ${workspaceFolder} in mcp.json args, so the v0.15.7
global install wrote `--path ${workspaceFolder}`, which resolved to the literal
`$HOME/${workspaceFolder}` and made the watcher and catch-up sync fail.

- A global Kiro install now writes NO MCP entry and self-heals by removing any
  stale codegraph entry a prior version left (other MCP servers are kept).
- It emits explicit guidance to run `codegraph install --target=kiro --local`
  from each project root, which still pins the project's absolute --path.
- Local installs are unchanged: concrete --path = project root.
- docs(cli): rewrite the Kiro section to match (global = guidance-only).
@sunerpy sunerpy merged commit 2572eb2 into main Jun 26, 2026
4 checks passed
@sunerpy sunerpy deleted the fix/kiro-global-no-broken-path branch June 26, 2026 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant